-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support pixel density on p5.Image (fixes issue #6114) #6447
Conversation
src/image/p5.Image.js
Outdated
*/ | ||
setPixelDensity(density) { | ||
if (density <= 0) { | ||
console.error('Pixel density must be greater than 0.'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of a console.error
perhaps using the FES would be better here? Or alternatively default to 1 if the value is <= 0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have implemented both of the suggested actions for improvement. Kindly review the changes and provide any feedback. Your input is highly valued. Thank you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you call graphic.get()
on a p5.Graphics
(or just call get()
for the main canvas), it currently returns a p5.Image
at 1x density instead of matching the density of the source object. Would we be able to use this new feature here too?
Lines 161 to 164 in a129d57
const region = new p5.Image(w, h); | |
region.canvas | |
.getContext('2d') | |
.drawImage(canvas, x, y, w * pd, h * pd, 0, 0, w, h); |
src/image/p5.Image.js
Outdated
this.canvas.height = this.height * density; | ||
|
||
// Update the drawing context | ||
this.drawingContext = this.canvas.getContext('2d'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it might not be necessary to get the context again after changing the canvas size
src/image/p5.Image.js
Outdated
* img.setPixelDensity(2); | ||
* </code></div> | ||
*/ | ||
setPixelDensity(density) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think we could match the API of main canvases and p5.Graphics
where pixelDensity()
returns the current density, and pixelDensity(newDensity)
sets it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me look into what you are saying and get back to you. Thanks for the feedback.
@davepagurek I have been working on the solution. The problem: now extending the problem. if we want to use the same function for all the other canvases then I think it should be possible for us to use that as long as it an image we are talking about. Doubt Lines 679 to 686 in 95b82ea
In this particular instance, the method pixelDesity already exists. I am a bit confused as to how this function links with the other function. Will the function able to change the pixel density of the image(p5.image) that we are trying to change? |
I think we won't need to modify the p5.js/src/webgl/p5.Framebuffer.js Lines 268 to 276 in 95b82ea
Rather than having a separate |
@davepagurek i made the changes as you said. You can provide the with feedback. one more thing, I think we can use pixeldensity function from anywhere as long as we are doing it on an image. But if we set the following function Line 146 in 95b82ea
like this._pixelDensity = pixelDensity(); and then define the pixelDensity in the global scope of all the src/files then we can change the pixelDensity in the class of p5.image only.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But if we set the following function like
this._pixelDensity = pixelDensity();
and then define thepixelDensity
in the global scope of all the src/files then we can change the pixelDensity in the class of p5.image only.
I don't think we want to make image pixel densities match the display density by default, because we would be making the image's canvas more dense without having more data to actually fill it with. Say you import a 200x200 image with loadImage()
. If we set its density to 2, then we will be making its canvas be 400x400, but the original image is still only 200x200, so we would just be unnecessarily stretching it to 400x400 internally.
I think it probably makes more sense if we always keep the internal image's data the same (since that basically never changes after we import an image), and instead use pixelDensity
to determine how we interpret the data. So if you import a 200x200 image, but then say img.pixelDensity(2)
, then that would make p5 treat it like a 100x100 image, but with enough subpixels that it still displays crisply on a 2x display. This would have to be something users set manually for imported images because we wouldn't know whether an image's "target" size should be, that's up to the user and how they want to use it. @limzykenneth does that make sense to you too?
If we use it that way, then rather than adjusting the canvas size when we set the density, we would instead keep the canvas size the same and adjust the width/height p5 uses:
- this.canvas.width = this.width * density;
- this.canvas.height = this.height * density;
+ this.width /= density;
+ this.height /= density;
Can we also set the pixel density of the image returned by graphic.get()
?
Lines 161 to 164 in a129d57
const region = new p5.Image(w, h); | |
region.canvas | |
.getContext('2d') | |
.drawImage(canvas, x, y, w * pd, h * pd, 0, 0, w, h); |
A test case to make sure that works could be creating a graphic and setting its pixel density to e.g. 3, calling img = graphic.get()
, and then checking that img.width === graphic.width
, img.height === graphic.height
, and img.pixelDensity() === graphic.pixelDensity()
.
Yes, the implementation I have in my mind would more or less as @davepagurek described, since we don't want to create or delete pixels from the image loaded in by the user when pixel density is changed we'll change the dimension of the backing canvas instead. Although we probably need to be a bit aware of possible points of confusion and possibly document clearly as necessary. |
the above point makes sense and in the next commit I will implement so that we don't change the canvas size but rather the the interpretation of the image.
Now coming to this point, i always thought that Do you think the ideas I've shared align with what we're discussing? I'd love to hear your thoughts on it |
Right, I think the change would just be in how we set the default pixel density of images coming from
Remind me which other ideas you're referring to? Is that the idea of having a common implementation of the |
Nah, I was just referring to the points I mentioned above, to be sure that we are on the same page. |
Ah ok I thought earlier you were maybe talking about having a common implementation. I think it's OK if we don't do that for now since there are some subtle differences in how all these classes work. Anyway other than that I think what we've been discussing seems right! |
@davepagurek I think i finally solved all the concern.
Line 161 in 3598675
in the above line a new image is created and whenever a new image is created then the pixeldesnity of the new image is set of default of 1. To retain the same pixel density of that of the original image I add the following code in the next line. |
src/core/p5.Renderer.js
Outdated
@@ -159,6 +159,7 @@ class Renderer extends p5.Element { | |||
} | |||
|
|||
const region = new p5.Image(w, h); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to make it it a new p5.Image(w*pd, h*pd)
? I think this currently still reduces the number of pixels if the graphic is higher density. I think we'd also need up update line 165 to be something like:
drawImage(canvas, x, y, w * pd, h * pd, 0, 0, w * pd, h * pd)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! I get what you're saying. I've made the changes in the commit. Take a look now—do you think it looks good? Super open to any further tweaks or suggestions!
this._pixelDensity = density; | ||
|
||
// Adjust canvas dimensions based on pixel density | ||
this.width /= density; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function looks great now, thanks!
@davepagurek @limzykenneth |
lib/empty-example/sketch.js
Outdated
// put setup code here | ||
// put setup code here | ||
} | ||
|
||
function draw() { | ||
// put drawing code here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can changes in this file be reverted as it is not related to the issue being addressed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ya let me change them.
Looks good. Thanks! |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [p5](https://togithub.com/processing/p5.js) | devDependencies | minor | [`1.7.0` -> `1.8.0`](https://renovatebot.com/diffs/npm/p5/1.7.0/1.8.0) | | [@types/p5](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/p5) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`1.7.0` -> `1.7.3`](https://renovatebot.com/diffs/npm/@types%2fp5/1.7.0/1.7.3) | --- ### Release Notes <details> <summary>processing/p5.js (p5)</summary> ### [`v1.8.0`](https://togithub.com/processing/p5.js/releases/tag/v1.8.0) [Compare Source](https://togithub.com/processing/p5.js/compare/v1.7.0...v1.8.0) <!-- Release notes generated using configuration in .github/release.yml at v1.8.0 --> #### What's Changed 🎊 ##### WebGL In this release, p5.js added some new WebGL mode tools. Filters now run in shaders for extra speed, and you can now run custom filter shaders, even on 2D canvases. You can now cut holes in shapes with `beginContour()` and apply vector masks with `beginClip()`. You can reuse shapes more efficiently with `buildGeometry()` and instanced rendering. Finally, we have also fixed a number of bugs. *- Summary written by [@​davepagurek](https://togithub.com/davepagurek) ✨* - Add support for beginContour() and endContour() in Webgl mode by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6297](https://togithub.com/processing/p5.js/pull/6297) - Fix stroke rendering when drawing to framebuffers by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6304](https://togithub.com/processing/p5.js/pull/6304) - Adds createFilterShader() and custom shader support to the webGL filter() function by [@​wong-justin](https://togithub.com/wong-justin) in [https://github.com/processing/p5.js/pull/6237](https://togithub.com/processing/p5.js/pull/6237) - Fix WebGL text not rendering when rotated 90 degrees by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6316](https://togithub.com/processing/p5.js/pull/6316) - Fix reading between nested active framebuffers by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6314](https://togithub.com/processing/p5.js/pull/6314) - Add methods to construct p5.Geometry from other p5 drawing functions by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6287](https://togithub.com/processing/p5.js/pull/6287) - Handle missing exact edge vertices in buildGeometry by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6320](https://togithub.com/processing/p5.js/pull/6320) - Fix strokes on framebuffers with different aspect ratios by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6339](https://togithub.com/processing/p5.js/pull/6339) - Fix freed geometry leaving attributes in a broken state by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6323](https://togithub.com/processing/p5.js/pull/6323) - Improve performance of line rendering by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6230](https://togithub.com/processing/p5.js/pull/6230) - Add support for webGL instancing by [@​RandomGamingDev](https://togithub.com/RandomGamingDev) in [https://github.com/processing/p5.js/pull/6276](https://togithub.com/processing/p5.js/pull/6276) - Add shaders for filter() constants, and use them by default in P2D by [@​wong-justin](https://togithub.com/wong-justin) in [https://github.com/processing/p5.js/pull/6324](https://togithub.com/processing/p5.js/pull/6324) - Fix clip() on both the main canvas and framebuffers by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6376](https://togithub.com/processing/p5.js/pull/6376) - fixed texture filtering bug in p5.Framebuffer by [@​KeyboardSounds](https://togithub.com/KeyboardSounds) in [https://github.com/processing/p5.js/pull/6420](https://togithub.com/processing/p5.js/pull/6420) - Fix clear() on framebuffers on Intel macs by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6429](https://togithub.com/processing/p5.js/pull/6429) - Fix textureMode(IMAGE) + beginShape(TESS) by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6366](https://togithub.com/processing/p5.js/pull/6366) - fixed issue [#​6440](https://togithub.com/processing/p5.js/issues/6440) by [@​Gaurav-1306](https://togithub.com/Gaurav-1306) in [https://github.com/processing/p5.js/pull/6446](https://togithub.com/processing/p5.js/pull/6446) - Erode, dilate, threshold shader filters match closer to CPU filters by [@​wong-justin](https://togithub.com/wong-justin) in [https://github.com/processing/p5.js/pull/6405](https://togithub.com/processing/p5.js/pull/6405) - Update WebGL blur filter to match CPU blur more by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6460](https://togithub.com/processing/p5.js/pull/6460) - Fix camera flipping on framebuffers between push/pop calls by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6471](https://togithub.com/processing/p5.js/pull/6471) - Setuniform by [@​Gaurav-1306](https://togithub.com/Gaurav-1306) in [https://github.com/processing/p5.js/pull/6474](https://togithub.com/processing/p5.js/pull/6474) - resolved issue [#​6399](https://togithub.com/processing/p5.js/issues/6399) by [@​Gaurav-1306](https://togithub.com/Gaurav-1306) in [https://github.com/processing/p5.js/pull/6480](https://togithub.com/processing/p5.js/pull/6480) - Auto-bind filter shaders to the filter graphic by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6482](https://togithub.com/processing/p5.js/pull/6482) - new PR for issue [#​6383](https://togithub.com/processing/p5.js/issues/6383)(Problem for diagonal) by [@​perminder-17](https://togithub.com/perminder-17) in [https://github.com/processing/p5.js/pull/6488](https://togithub.com/processing/p5.js/pull/6488) ##### Friendly Error System (FES) - Add Hindi translation to FES by [@​Ayush23Dash](https://togithub.com/Ayush23Dash) in [https://github.com/processing/p5.js/pull/6272](https://togithub.com/processing/p5.js/pull/6272) - Re-worded lines 413 and 446 of FES Developer Notes by [@​OnexiMedina](https://togithub.com/OnexiMedina) in [https://github.com/processing/p5.js/pull/6307](https://togithub.com/processing/p5.js/pull/6307) - Reference FES Contributor Docs inside FES Directory along with a diagram to understand usages of FES functions by [@​Ayush23Dash](https://togithub.com/Ayush23Dash) in [https://github.com/processing/p5.js/pull/6335](https://togithub.com/processing/p5.js/pull/6335) - Fixed typing errors in fes_core.js documentation by [@​Garima3110](https://togithub.com/Garima3110) in [https://github.com/processing/p5.js/pull/6478](https://togithub.com/processing/p5.js/pull/6478) - Update friendly_error_system.md by [@​Garima3110](https://togithub.com/Garima3110) in [https://github.com/processing/p5.js/pull/6481](https://togithub.com/processing/p5.js/pull/6481) - Update fes_reference_dev_notes.md by [@​Garima3110](https://togithub.com/Garima3110) in [https://github.com/processing/p5.js/pull/6486](https://togithub.com/processing/p5.js/pull/6486) ##### Reference Documentation Update We updated a group of p5.js Reference pages as part of 2023 Season of Docs (SoD) program, with a goal to make them more accessible and beginner-friendly. Thanks to the SoD technical writer [@​nickmcintyre](https://togithub.com/nickmcintyre) ✨. - Edit docs for math functions by [@​nickmcintyre](https://togithub.com/nickmcintyre) in [https://github.com/processing/p5.js/pull/6281](https://togithub.com/processing/p5.js/pull/6281) - docs(typography): fix typos in example for textFont by [@​meezwhite](https://togithub.com/meezwhite) in [https://github.com/processing/p5.js/pull/6401](https://togithub.com/processing/p5.js/pull/6401) - Edit docs for p5.Vector by [@​nickmcintyre](https://togithub.com/nickmcintyre) in [https://github.com/processing/p5.js/pull/6340](https://togithub.com/processing/p5.js/pull/6340) - Edit docs for pixels functions by [@​nickmcintyre](https://togithub.com/nickmcintyre) in [https://github.com/processing/p5.js/pull/6390](https://togithub.com/processing/p5.js/pull/6390) - Edit docs for loading & displaying images by [@​nickmcintyre](https://togithub.com/nickmcintyre) in [https://github.com/processing/p5.js/pull/6425](https://togithub.com/processing/p5.js/pull/6425) - Update docs for p5.Image by [@​nickmcintyre](https://togithub.com/nickmcintyre) in [https://github.com/processing/p5.js/pull/6434](https://togithub.com/processing/p5.js/pull/6434) - Edit docs for p5.Font by [@​nickmcintyre](https://togithub.com/nickmcintyre) in [https://github.com/processing/p5.js/pull/6453](https://togithub.com/processing/p5.js/pull/6453) - Edit docs for image by [@​nickmcintyre](https://togithub.com/nickmcintyre) in [https://github.com/processing/p5.js/pull/6424](https://togithub.com/processing/p5.js/pull/6424) - Edit docs for typography load and display by [@​nickmcintyre](https://togithub.com/nickmcintyre) in [https://github.com/processing/p5.js/pull/6450](https://togithub.com/processing/p5.js/pull/6450) ##### Google Summer of Code (GSoC) 2023 Wrap up - 🌸 Added GSoC wrap up! by [@​dewanshDT](https://togithub.com/dewanshDT) in [https://github.com/processing/p5.js/pull/6403](https://togithub.com/processing/p5.js/pull/6403) - Gsoc 23 Wrapup post by [@​Ayush23Dash](https://togithub.com/Ayush23Dash) in [https://github.com/processing/p5.js/pull/6415](https://togithub.com/processing/p5.js/pull/6415) - add GSoC'23 wrapup post for Justin Wong by [@​wong-justin](https://togithub.com/wong-justin) in [https://github.com/processing/p5.js/pull/6418](https://togithub.com/processing/p5.js/pull/6418) - Create lichlyter_gsoc\_2023.md by [@​katlich112358](https://togithub.com/katlich112358) in [https://github.com/processing/p5.js/pull/6455](https://togithub.com/processing/p5.js/pull/6455) - Create munusshih_gsoc\_2023.md by [@​munusshih](https://togithub.com/munusshih) in [https://github.com/processing/p5.js/pull/6461](https://togithub.com/processing/p5.js/pull/6461) ##### Other Code Update - Ask to disable printing when print() called with no arguments by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6253](https://togithub.com/processing/p5.js/pull/6253) - fix textWidth() and textToPoints() by [@​munusshih](https://togithub.com/munusshih) in [https://github.com/processing/p5.js/pull/6184](https://togithub.com/processing/p5.js/pull/6184) - Fix issue where nf with 0 'right' parameter returns undefined in string by [@​limzykenneth](https://togithub.com/limzykenneth) in [https://github.com/processing/p5.js/pull/6291](https://togithub.com/processing/p5.js/pull/6291) - Update environment.js with fix for frameRate description by [@​quinton-ashley](https://togithub.com/quinton-ashley) in [https://github.com/processing/p5.js/pull/6269](https://togithub.com/processing/p5.js/pull/6269) - Implement clip() to shapes by [@​davepagurek](https://togithub.com/davepagurek) in [https://github.com/processing/p5.js/pull/6306](https://togithub.com/processing/p5.js/pull/6306) - Clarified workflow for contributing documentation by [@​thatguyseven](https://togithub.com/thatguyseven) in [https://github.com/processing/p5.js/pull/6312](https://togithub.com/processing/p5.js/pull/6312) - Clears MediaElement canvas at the beginning of every frame by [@​donaldzhu](https://togithub.com/donaldzhu) in [https://github.com/processing/p5.js/pull/6309](https://togithub.com/processing/p5.js/pull/6309) - Clean up gruntfile release related steps by [@​Qianqianye](https://togithub.com/Qianqianye) in [https://github.com/processing/p5.js/pull/6321](https://togithub.com/processing/p5.js/pull/6321) - fix-return-type by [@​asukaminato0721](https://togithub.com/asukaminato0721) in [https://github.com/processing/p5.js/pull/6326](https://togithub.com/processing/p5.js/pull/6326) - fix HALF_FLOAT by [@​asukaminato0721](https://togithub.com/asukaminato0721) in [https://github.com/processing/p5.js/pull/6330](https://togithub.com/processing/p5.js/pull/6330) - Added .gitattributes to Increase compatability with Window users and line endings by [@​SilasVM](https://togithub.com/SilasVM) in [https://github.com/processing/p5.js/pull/6317](https://togithub.com/processing/p5.js/pull/6317) - update all contributors setup by [@​gr2m](https://togithub.com/gr2m) in [https://github.com/processing/p5.js/pull/6341](https://togithub.com/processing/p5.js/pull/6341) - refine canvas' type by [@​asukaminato0721](https://togithub.com/asukaminato0721) in [https://github.com/processing/p5.js/pull/6328](https://togithub.com/processing/p5.js/pull/6328) - MouseEvent, WheelEvent and KeyboardEvent type by [@​asukaminato0721](https://togithub.com/asukaminato0721) in [https://github.com/processing/p5.js/pull/6329](https://togithub.com/processing/p5.js/pull/6329) - fixed-wrong-capture-size-and-freeze-issue by [@​Prateek93a](https://togithub.com/Prateek93a) in [https://github.com/processing/p5.js/pull/5159](https://togithub.com/processing/p5.js/pull/5159) - add more event type by [@​asukaminato0721](https://togithub.com/asukaminato0721) in [https://github.com/processing/p5.js/pull/6379](https://togithub.com/processing/p5.js/pull/6379) - Main by [@​j-adel](https://togithub.com/j-adel) in [https://github.com/processing/p5.js/pull/6374](https://togithub.com/processing/p5.js/pull/6374) - Update labeler Github Action by [@​stampyzfanz](https://togithub.com/stampyzfanz) in [https://github.com/processing/p5.js/pull/6395](https://togithub.com/processing/p5.js/pull/6395) - add unregisterMethod function by [@​capGoblin](https://togithub.com/capGoblin) in [https://github.com/processing/p5.js/pull/6426](https://togithub.com/processing/p5.js/pull/6426) - add before/after preload and setup by [@​capGoblin](https://togithub.com/capGoblin) in [https://github.com/processing/p5.js/pull/6433](https://togithub.com/processing/p5.js/pull/6433) - Fix: Misleading error message when NaN passed by [@​capGoblin](https://togithub.com/capGoblin) in [https://github.com/processing/p5.js/pull/6464](https://togithub.com/processing/p5.js/pull/6464) - Support pixel density on p5.Image (fixes issue [#​6114](https://togithub.com/processing/p5.js/issues/6114)) by [@​Gaurav-1306](https://togithub.com/Gaurav-1306) in [https://github.com/processing/p5.js/pull/6447](https://togithub.com/processing/p5.js/pull/6447) - Fix orphan canvas when sketch is removed before canvas creation by [@​limzykenneth](https://togithub.com/limzykenneth) in [https://github.com/processing/p5.js/pull/6355](https://togithub.com/processing/p5.js/pull/6355) ##### Other Documentation Update - Fixed GitHub capitalization typo in contributor_docs by [@​SilasVM](https://togithub.com/SilasVM) in [https://github.com/processing/p5.js/pull/6284](https://togithub.com/processing/p5.js/pull/6284) - Fixing typo in "What are issues?" by [@​snwarner22](https://togithub.com/snwarner22) in [https://github.com/processing/p5.js/pull/6288](https://togithub.com/processing/p5.js/pull/6288) - Fixed GitHub spelling in CONTRIBUTING.md by [@​SilasVM](https://togithub.com/SilasVM) in [https://github.com/processing/p5.js/pull/6295](https://togithub.com/processing/p5.js/pull/6295) - Fixed grammatical errors in contributor_guidelines.md by [@​thatguyseven](https://togithub.com/thatguyseven) in [https://github.com/processing/p5.js/pull/6296](https://togithub.com/processing/p5.js/pull/6296) - Update documentation_style_guide.md with new guideline by [@​zelf0](https://togithub.com/zelf0) in [https://github.com/processing/p5.js/pull/6334](https://togithub.com/processing/p5.js/pull/6334) - add missing code contributors to all contributors in README and `.all-contributors.rc` file by [@​gr2m](https://togithub.com/gr2m) in [https://github.com/processing/p5.js/pull/6349](https://togithub.com/processing/p5.js/pull/6349) - docs(all-contributors): remove [@​stellartux](https://togithub.com/stellartux) as requested by [@​gr2m](https://togithub.com/gr2m) in [https://github.com/processing/p5.js/pull/6368](https://togithub.com/processing/p5.js/pull/6368) - docs(src/utilities): Use `describe()` instead of `@alt` by [@​Zearin](https://togithub.com/Zearin) in [https://github.com/processing/p5.js/pull/5598](https://togithub.com/processing/p5.js/pull/5598) - Fix typo in export path to fix dev mode by [@​mykongee](https://togithub.com/mykongee) in [https://github.com/processing/p5.js/pull/6373](https://togithub.com/processing/p5.js/pull/6373) - Improve Readme for future Contributors to codebase by [@​Ayush23Dash](https://togithub.com/Ayush23Dash) in [https://github.com/processing/p5.js/pull/6260](https://togithub.com/processing/p5.js/pull/6260) - Fixed mousePressed() Example Error by [@​Utkarsh3128](https://togithub.com/Utkarsh3128) in [https://github.com/processing/p5.js/pull/6413](https://togithub.com/processing/p5.js/pull/6413) - Update README.md by [@​katlich112358](https://togithub.com/katlich112358) in [https://github.com/processing/p5.js/pull/6458](https://togithub.com/processing/p5.js/pull/6458) - Fixed typing errors in validate_params.js file's documentation by [@​Garima3110](https://togithub.com/Garima3110) in [https://github.com/processing/p5.js/pull/6473](https://togithub.com/processing/p5.js/pull/6473) - typo and unused variable from core by [@​benschac](https://togithub.com/benschac) in [https://github.com/processing/p5.js/pull/6476](https://togithub.com/processing/p5.js/pull/6476) #### New Contributors 💗 - [@​munusshih](https://togithub.com/munusshih) made their first contribution in [https://github.com/processing/p5.js/pull/6184](https://togithub.com/processing/p5.js/pull/6184) - [@​SilasVM](https://togithub.com/SilasVM) made their first contribution in [https://github.com/processing/p5.js/pull/6284](https://togithub.com/processing/p5.js/pull/6284) - [@​snwarner22](https://togithub.com/snwarner22) made their first contribution in [https://github.com/processing/p5.js/pull/6288](https://togithub.com/processing/p5.js/pull/6288) - [@​thatguyseven](https://togithub.com/thatguyseven) made their first contribution in [https://github.com/processing/p5.js/pull/6296](https://togithub.com/processing/p5.js/pull/6296) - [@​OnexiMedina](https://togithub.com/OnexiMedina) made their first contribution in [https://github.com/processing/p5.js/pull/6307](https://togithub.com/processing/p5.js/pull/6307) - [@​donaldzhu](https://togithub.com/donaldzhu) made their first contribution in [https://github.com/processing/p5.js/pull/6309](https://togithub.com/processing/p5.js/pull/6309) - [@​gr2m](https://togithub.com/gr2m) made their first contribution in [https://github.com/processing/p5.js/pull/6341](https://togithub.com/processing/p5.js/pull/6341) - [@​RandomGamingDev](https://togithub.com/RandomGamingDev) made their first contribution in [https://github.com/processing/p5.js/pull/6276](https://togithub.com/processing/p5.js/pull/6276) - [@​mykongee](https://togithub.com/mykongee) made their first contribution in [https://github.com/processing/p5.js/pull/6373](https://togithub.com/processing/p5.js/pull/6373) - [@​j-adel](https://togithub.com/j-adel) made their first contribution in [https://github.com/processing/p5.js/pull/6374](https://togithub.com/processing/p5.js/pull/6374) - [@​meezwhite](https://togithub.com/meezwhite) made their first contribution in [https://github.com/processing/p5.js/pull/6401](https://togithub.com/processing/p5.js/pull/6401) - [@​dewanshDT](https://togithub.com/dewanshDT) made their first contribution in [https://github.com/processing/p5.js/pull/6403](https://togithub.com/processing/p5.js/pull/6403) - [@​Utkarsh3128](https://togithub.com/Utkarsh3128) made their first contribution in [https://github.com/processing/p5.js/pull/6413](https://togithub.com/processing/p5.js/pull/6413) - [@​KeyboardSounds](https://togithub.com/KeyboardSounds) made their first contribution in [https://github.com/processing/p5.js/pull/6420](https://togithub.com/processing/p5.js/pull/6420) - [@​capGoblin](https://togithub.com/capGoblin) made their first contribution in [https://github.com/processing/p5.js/pull/6426](https://togithub.com/processing/p5.js/pull/6426) - [@​Gaurav-1306](https://togithub.com/Gaurav-1306) made their first contribution in [https://github.com/processing/p5.js/pull/6446](https://togithub.com/processing/p5.js/pull/6446) - [@​katlich112358](https://togithub.com/katlich112358) made their first contribution in [https://github.com/processing/p5.js/pull/6455](https://togithub.com/processing/p5.js/pull/6455) - [@​Garima3110](https://togithub.com/Garima3110) made their first contribution in [https://github.com/processing/p5.js/pull/6473](https://togithub.com/processing/p5.js/pull/6473) - [@​benschac](https://togithub.com/benschac) made their first contribution in [https://github.com/processing/p5.js/pull/6476](https://togithub.com/processing/p5.js/pull/6476) - [@​perminder-17](https://togithub.com/perminder-17) made their first contribution in [https://github.com/processing/p5.js/pull/6488](https://togithub.com/processing/p5.js/pull/6488) - [@​lakshay451](https://togithub.com/lakshay451) made their first contribution in [https://github.com/processing/p5.js/pull/6493](https://togithub.com/processing/p5.js/pull/6493) **Full Changelog**: processing/p5.js@v1.7.0...v1.8.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMS4wIiwidXBkYXRlZEluVmVyIjoiMzcuMzUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: Renovate Bot <[email protected]>
Resolves #6114
Changes:
Created a new method that allowed user to set up the pixel density of the image.
Screenshots of the change:
PR Checklist
npm run lint
passes